package jdx_06_volatile;

import java.util.concurrent.TimeUnit;

public class T1 {
    boolean running = true;//当前执行状态

    void m(){
        System.out.println("m start ...");
        while (running){
            //【测试一】这里不加任何沉睡，理想情况下，下面的代码修改running=false会停止
        }
        System.out.println("m ending ...");
    }

    public static void main(String[] args) {
        //开始运行上面的程序
        T1 t = new T1();
        new Thread(()->{
            t.m();
        }).start();
        try {
            TimeUnit.SECONDS.sleep(3);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        t.running = false;//这里3秒后修改为false,理想情况下，上面的循环会停止
    }

}


/*
但是实际上，代码并没有停止运行？为什么？
接下来看 T2 的实验
 */
